home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libxml2 / libxml / pattern.h < prev    next >
C/C++ Source or Header  |  2006-04-25  |  3KB  |  101 lines

  1. /*
  2.  * Summary: pattern expression handling
  3.  * Description: allows to compile and test pattern expressions for nodes
  4.  *              either in a tree or based on a parser state.
  5.  *
  6.  * Copy: See Copyright for the status of this software.
  7.  *
  8.  * Author: Daniel Veillard
  9.  */
  10.  
  11. #ifndef __XML_PATTERN_H__
  12. #define __XML_PATTERN_H__
  13.  
  14. #include <libxml/xmlversion.h>
  15. #include <libxml/tree.h>
  16. #include <libxml/dict.h>
  17.  
  18. #ifdef LIBXML_PATTERN_ENABLED
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. /**
  25.  * xmlPattern:
  26.  *
  27.  * A compiled (XPath based) pattern to select nodes
  28.  */
  29. typedef struct _xmlPattern xmlPattern;
  30. typedef xmlPattern *xmlPatternPtr;
  31.  
  32. /**
  33.  * xmlPatternFlags:
  34.  *
  35.  * This is the set of options affecting the behaviour of pattern
  36.  * matching with this module
  37.  *
  38.  */
  39. typedef enum {
  40.     XML_PATTERN_DEFAULT        = 0,    /* simple pattern match */
  41.     XML_PATTERN_XPATH        = 1<<0,    /* standard XPath pattern */
  42.     XML_PATTERN_XSSEL        = 1<<1,    /* XPath subset for schema selector */
  43.     XML_PATTERN_XSFIELD        = 1<<2    /* XPath subset for schema field */
  44. } xmlPatternFlags;
  45.  
  46. XMLPUBFUN void XMLCALL
  47.             xmlFreePattern        (xmlPatternPtr comp);
  48.  
  49. XMLPUBFUN void XMLCALL
  50.             xmlFreePatternList    (xmlPatternPtr comp);
  51.  
  52. XMLPUBFUN xmlPatternPtr XMLCALL
  53.             xmlPatterncompile    (const xmlChar *pattern,
  54.                          xmlDict *dict,
  55.                          int flags,
  56.                          const xmlChar **namespaces);
  57. XMLPUBFUN int XMLCALL
  58.             xmlPatternMatch        (xmlPatternPtr comp,
  59.                          xmlNodePtr node);
  60.  
  61. /* streaming interfaces */
  62. typedef struct _xmlStreamCtxt xmlStreamCtxt;
  63. typedef xmlStreamCtxt *xmlStreamCtxtPtr;
  64.  
  65. XMLPUBFUN int XMLCALL
  66.             xmlPatternStreamable    (xmlPatternPtr comp);
  67. XMLPUBFUN int XMLCALL
  68.             xmlPatternMaxDepth    (xmlPatternPtr comp);
  69. XMLPUBFUN int XMLCALL
  70.             xmlPatternMinDepth    (xmlPatternPtr comp);
  71. XMLPUBFUN int XMLCALL
  72.             xmlPatternFromRoot    (xmlPatternPtr comp);
  73. XMLPUBFUN xmlStreamCtxtPtr XMLCALL
  74.             xmlPatternGetStreamCtxt    (xmlPatternPtr comp);
  75. XMLPUBFUN void XMLCALL
  76.             xmlFreeStreamCtxt    (xmlStreamCtxtPtr stream);
  77. XMLPUBFUN int XMLCALL
  78.             xmlStreamPushNode    (xmlStreamCtxtPtr stream,
  79.                          const xmlChar *name,
  80.                          const xmlChar *ns,
  81.                          int nodeType);
  82. XMLPUBFUN int XMLCALL
  83.             xmlStreamPush        (xmlStreamCtxtPtr stream,
  84.                          const xmlChar *name,
  85.                          const xmlChar *ns);
  86. XMLPUBFUN int XMLCALL
  87.             xmlStreamPushAttr    (xmlStreamCtxtPtr stream,
  88.                          const xmlChar *name,
  89.                          const xmlChar *ns);
  90. XMLPUBFUN int XMLCALL
  91.             xmlStreamPop        (xmlStreamCtxtPtr stream);
  92. XMLPUBFUN int XMLCALL
  93.             xmlStreamWantsAnyNode    (xmlStreamCtxtPtr stream);
  94. #ifdef __cplusplus
  95. }
  96. #endif
  97.  
  98. #endif /* LIBXML_PATTERN_ENABLED */
  99.  
  100. #endif /* __XML_PATTERN_H__ */
  101.